#ifndef QS_ALL_KEYS_H_
#define QS_ALL_KEYS_H_

#include "qs_rf_protocol.h"

typedef void(*qs_key_on_key_evt_handle_s)(uint8_t evt);
typedef void (*qs_key_on_rx_data_handle_s)(qs_rf_protocol_t* p_frame);
typedef void (*qs_key_on_rf_rx_data_handle_s)(void);
typedef void (*qs_key_on_ble_rx_data_handle_s)(void);

#define QS_KEYS_RELEASE                 0x0000
#define QS_KEYS_FAN_UP                  0x0001
#define QS_KEYS_FAN_DOWN                0x0002
#define QS_KEYS_HEAT_UP                 0x0004
#define QS_KEYS_HEAT_DOWN               0x0008
#define QS_KEYS_TIMER                   0x0020
#define QS_KEYS_PROV                    0x000a    

#define QS_KEYS_POWER                   0x0100
#define QS_KEYS_AUTO                    0x0200


#define QS_KEY_EVT_RELEASE              0x00
#define QS_KEY_EVT_PRESS_FAN_UP         0x01
#define QS_KEY_EVT_PRESS_FAN_DOWN       0x02
#define QS_KEY_EVT_PRESS_HEAT_UP        0x03
#define QS_KEY_EVT_PRESS_HEAT_DOWN      0x04
#define QS_KEY_EVT_PRESS_POWER          0x05
#define QS_KEY_EVT_PRESS_TIMER          0x06
#define QS_KEY_EVT_PRESS_AUTO           0x07


#define QS_KEY_EVT_HOLD_POWER_3S        0x20


void qs_all_keys_init(qs_key_on_key_evt_handle_s on_key_evt);
void qs_key_on_rf_rx_data_handle_set(qs_key_on_rx_data_handle_s on_rf_rx_data);
void qs_key_on_ble_rx_data_handle_set(qs_key_on_rf_rx_data_handle_s on_ble_rx_data);
#endif